package com.ruoyi.equ.mapper;

import com.ruoyi.equ.domain.EquBasic;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 设备基本台账Mapper接口
 * 
 * @author lgq
 * @date 2023-10-07
 */
public interface EquBasicMapper 
{
    /**
     * 查询设备基本台账
     * 
     * @param id 设备基本台账主键
     * @return 设备基本台账
     */
    public EquBasic selectEquBasicById(String id);

    /**
     * 批量查询设备信息
     */
    public List<EquBasic> selectEquBasicByIds(String[] ids);

    /**
     * 查询设备状态
     */
    List<Map<String, Object>> selectEquBasicCount();

    /**
     * 查询设备基本信息
     *
     * @param equNum 设备编号
     * @return 设备基本信息
     */
    public EquBasic selectEquBasicByNum(String equNum);

    /**
     * 根据标签查询设备基本信息
     *
     * @param labels 标签
     * @return 设备基本信息
     */
    public List<EquBasic> selectEquBasicByLabels(String labels);

    /**
     * 根据设备名称获取设备信息
     */
    public  List<EquBasic> selectEquBasicByName(@Param("equName")String equName, @Param("state")String state);

    /**
     * 根据设备标识获取设备基本信息
     */
    public EquBasic selectEquBasicByEquNum(@Param("equNum")String equNum, @Param("state")String state);

    /**
     * 查询设备基本台账列表
     * 
     * @param equBasic 设备基本台账
     * @return 设备基本台账集合
     */
    public List<EquBasic> selectEquBasicList(EquBasic equBasic);


    /**
     * 查询设备列表
     *
     * @param equNums 设备基本信息编码
     * @return 设备信息集合
     */
    public List<EquBasic> selectEquBasicByNums(@Param("equNums") String[] equNums);

    /**
     * 新增设备基本台账
     * 
     * @param equBasic 设备基本台账
     * @return 结果
     */
    public int insertEquBasic(EquBasic equBasic);

    /**
     * 修改设备基本台账
     * 
     * @param equBasic 设备基本台账
     * @return 结果
     */
    public int updateEquBasic(EquBasic equBasic);

    /**
     * 修改设备基本信息
     *
     * @param equBasic 设备基本信息
     * @return 结果
     */
    public int updateEquBasicByEquNum(EquBasic equBasic);


    /**
     * 修改设备状态
     *
     * @param equBasic 设备基本信息
     * @return 结果
     */
    public int updateEquBasicByNum(EquBasic equBasic);

    /**
     * 修改设备证书到期信息
     *
     * @param
     * @return 结果
     */
    public int updateEquInvalidity();


    /**
     * 修改设备状态
     *
     * @param ids 设备ids
     * @return 结果
     */
    public int updateEquBasics(@Param("state") String state, @Param("ids") String[] ids);

    /**
     * 删除设备基本台账
     * 
     * @param id 设备基本台账主键
     * @return 结果
     */
    public int deleteEquBasicById(String id);

    /**
     * 批量删除设备基本台账
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEquBasicByIds(String[] ids);
}
